The abstract state machines method for modular design and analysis of programming languages
نویسنده
چکیده
We survey the use of Abstract State Machines in the area of programming languages, namely to define behavioral properties of programs at source, intermediate and machine levels in a way that is amenable to mathematical and experimental analysis by practitioners, like correctness and completeness of compilers, etc. We illustrate how theorems about such properties can be integrated into a modular development of programming languages and programs, using as example a Java/JVM compilation correctness theorem about defining, interpreting, compiling, and executing Java/JVM code. We show how programming features (read: programming constructs) modularize not only the source programs, but also the program property statements and their proofs.
منابع مشابه
On Modular De nitions and Implementations of Programming Languages
We provide a framework for modular deenitions and implementations of programming language based on abstract state machines. It is based on composition mechanism of state transition systems. State transition systems abstract from the algebraic structure of the states of an abstract state machine and focus on the behavior of state transitions. Implementations are based of reenements of state tran...
متن کاملCombining Formal Methods and MDE Techniques for Model-driven System Design and Analysis
The use of formal methods, based on rigorous mathematical foundations, is essential for system specification and proof, especially for safety critical systems. On the other hand, Model-driven Engineering (MDE) is emerging as new approach to software development based on the systematic use of models as primary artifacts throughout the engineering life-cycle by combining domain-specific modeling ...
متن کاملA Novel Hybrid-Excited Modular Variable Reluctance Motor for Electric Vehicle Applications: Analysis, Comparison, and Implementation
A variable reluctance machine (VRM) has been proven to be an outstanding candidate for electric vehicle (EV) applications. This paper introduces a new double-stator, 12/14/12-pole three-phase hybrid-excited modular variable reluctance machine (MVRM) for EV applications. In order to demonstrate the superiorities of the proposed structure, the static torque characteristics and dynamic performance...
متن کاملFuzzy Programming for Parallel Machines Scheduling: Minimizing Weighted Tardiness/Earliness and Flow Time through Genetic Algorithm
Appropriate scheduling and sequencing of tasks on machines is one of the basic and significant problems that a shop or a factory manager encounters; this is why in recent decades extensive studies have been done on scheduling issues. One type of scheduling problems is just-in-time (JIT) scheduling and in this area, motivated by JIT manufacturing, this study investigates a mathematical model for...
متن کاملAPI Protocol Compliance in Object-Oriented Software
Modern software development is highly reliant on reusable APIs. APIs often define usage protocols that API clients must follow in order for code implementing the API to work correctly. Loosely speaking, API protocols define legal sequences of method calls on objects. In this work, protocols are defined based on typestates (Strom and Yemini, 1986; DeLine and Fähndrich, 2004b). Typestates leverag...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
- J. Log. Comput.
دوره 27 شماره
صفحات -
تاریخ انتشار 2017